package org.rslai.tcedit.business;

import java.util.List;
import org.rslai.tcedit.domain.Page;
import org.rslai.tcedit.domain.Version;
import org.springframework.transaction.annotation.Transactional;

/**
 * 版本 业务逻辑接口
 * @author rslai
 */
@Transactional
public interface VersionService extends BaseService {

	/**
	 * 新增一个 版本
	 * @param productID ProductID
	 * @param version Version对象
	 */
	void create(String productID, Version version);

	/***
	 * 查询版本列表
	 * @param asc true 为升序，false 为降序
	 * @return 版本列表
	 */
	@Transactional(readOnly = true)
	public List<Version> query(boolean asc);

	/**
	 * 根据输入的 版本名查询 版本列表
	 * @param page
	 * @param name  版本名，前后加 % 号为模糊查询，例如：%executeState%。不加 % 为精确查询。 只有 % 为查询所有
	 * @param asc true 为升序，false 为降序
	 * @return 版本列表
	 */
	@Transactional(readOnly = true)
	List<Version> query(String productID, Page page, String name, boolean asc);

}
